Simon McVittie [Tue, 8 Sep 2020 09:56:45 +0000 (10:56 +0100)]
Update changelog
Simon McVittie [Tue, 8 Sep 2020 09:56:16 +0000 (10:56 +0100)]
Drop patch, applied upstream
Simon McVittie [Tue, 8 Sep 2020 09:55:51 +0000 (10:55 +0100)]
New upstream release
Simon McVittie [Tue, 8 Sep 2020 09:53:15 +0000 (10:53 +0100)]
Update upstream source from tag 'upstream/2020.6'
Update to upstream version '2020.6'
with Debian dir
d7ea88af3de2947496e903706ed055eb0315319e
Simon McVittie [Tue, 8 Sep 2020 09:53:08 +0000 (10:53 +0100)]
New upstream version 2020.6
Colin Walters [Thu, 3 Sep 2020 18:00:03 +0000 (18:00 +0000)]
Release 2020.6
Let's get the /var mount fix out at least.
OpenShift Merge Robot [Fri, 28 Aug 2020 18:52:24 +0000 (14:52 -0400)]
Merge pull request #2186 from jlebon/pr/etc-rw
Fix read-only /etc when using sysroot=readonly and a separate /var mount
Jonathan Lebon [Fri, 28 Aug 2020 16:49:32 +0000 (12:49 -0400)]
ci: Temporarily import kola test from jlebon's FCOS fork
That test will not make it into the fedora-coreos-config repo until the
libostree fix gets percolated down. PR is:
https://github.com/coreos/fedora-coreos-config/pull/586
But we want to make sure that the fix does work and that we don't
regress on it. So manually fetch it for now.
Jonathan Lebon [Fri, 28 Aug 2020 16:35:29 +0000 (12:35 -0400)]
ostree-remount: Remount /etc rw if needed
When we remount `/sysroot` as read-only, we also make `/etc` read-only.
This is usually OK because we then remount `/var` read-write, which also
flips `/etc` back to read-write... unless `/var` is a separate
filesystem and not a bind-mount to the stateroot `/var`.
Fix this by just remounting `/etc` read-write in the read-only sysroot
case.
Eventually, I think we should rework this to set everything up the way
we want from the initramfs (#2115). This would also eliminate the window
during which `/etc` is read-only while `ostree-remount` runs.
Jonathan Lebon [Fri, 28 Aug 2020 16:35:28 +0000 (12:35 -0400)]
ostree-prepare-root: Fix /etc bind mount
We were bind-mounting the initramfs' `/etc` (to itself) instead of the
target deployment `/etc` (to itself). Since we're already `chdir`'ed
into it, we can just drop the leading slash.
OpenShift Merge Robot [Wed, 26 Aug 2020 21:45:28 +0000 (17:45 -0400)]
Merge pull request #2184 from fkrull/docs-tags-fixes
Add some missing GI tags
Felix Krull [Tue, 25 Aug 2020 18:43:01 +0000 (20:43 +0200)]
lib: mark out parameters as out parameters
Felix Krull [Tue, 25 Aug 2020 17:57:27 +0000 (19:57 +0200)]
lib: add some missing version tags
OpenShift Merge Robot [Wed, 26 Aug 2020 19:04:24 +0000 (15:04 -0400)]
Merge pull request #2183 from cgwalters/sh-inline-crates
tests/inst: Update to published sh-inline crate
Colin Walters [Wed, 26 Aug 2020 17:00:19 +0000 (17:00 +0000)]
tests/inst: Update to published sh-inline crate
And I made a few more API tweaks, such as supporting `Path`
objects directly and also not needing e.g. `commit = commit`, see
- https://github.com/cgwalters/rust-sh-inline/commit/
cfa7c71126f23545a7d4782cad650eab60e74204
- https://github.com/cgwalters/rust-sh-inline/commit/
679bce4cc7ce65641e0c9bd33654510575583de8
OpenShift Merge Robot [Wed, 26 Aug 2020 15:01:52 +0000 (11:01 -0400)]
Merge pull request #2181 from cgwalters/port-sh-inline
tests/inst: Port to new sh-inline repo
OpenShift Merge Robot [Wed, 26 Aug 2020 12:42:37 +0000 (08:42 -0400)]
Merge pull request #2182 from mbilker/arch-linux
Fix mkinitcpio with newer systemd versions
Matt Bilker [Tue, 25 Aug 2020 22:12:52 +0000 (18:12 -0400)]
Fix mkinitcpio with newer systemd versions
- Fixes systemd failing to determine if `/sysroot` is valid because of
`/etc/os-release` not being available yet.
- Related: #1759
Colin Walters [Tue, 25 Aug 2020 22:06:13 +0000 (22:06 +0000)]
tests/inst: Port to new sh-inline repo
I cleaned up my fork of commandspec (see git log) and am
planning to publish to crates. Port to the new API in prep
for that.
OpenShift Merge Robot [Mon, 24 Aug 2020 19:05:20 +0000 (15:05 -0400)]
Merge pull request #2180 from jlebon/pr/devel-build
configure.ac: Set is_release_build=no
Jonathan Lebon [Mon, 24 Aug 2020 18:16:16 +0000 (14:16 -0400)]
configure.ac: Set is_release_build=no
We missed this during the post-release version bump.
OpenShift Merge Robot [Sat, 22 Aug 2020 00:13:51 +0000 (20:13 -0400)]
Merge pull request #2179 from cgwalters/ioctl-fix
linuxfsutil: Pass int to ioctl, not long
OpenShift Merge Robot [Fri, 21 Aug 2020 18:40:21 +0000 (14:40 -0400)]
Merge pull request #2178 from cgwalters/ioctl-test
tests: Check the immutable bit
Colin Walters [Fri, 21 Aug 2020 17:40:41 +0000 (17:40 +0000)]
linuxfsutil: Pass int to ioctl, not long
Otherwise it will fail on big-endian architectures like s390x.
Ref https://bugzilla.redhat.com/show_bug.cgi?id=
1867601
Colin Walters [Fri, 21 Aug 2020 17:35:03 +0000 (17:35 +0000)]
tests: Check the immutable bit
See https://bugzilla.redhat.com/show_bug.cgi?id=
1867601
We really want an upstream test for this, even if (to my knowledge)
nothing is running ostree's upstream CI on !x86_64.
OpenShift Merge Robot [Fri, 21 Aug 2020 12:57:29 +0000 (14:57 +0200)]
Merge pull request #2177 from smcv/systemd-no-syslog
boot: Replace deprecated StandardOutput=syslog with journal, etc.
Simon McVittie [Fri, 21 Aug 2020 09:05:36 +0000 (10:05 +0100)]
ostree-boot: Fix deprecated settings in systemd unit files
Simon McVittie [Fri, 21 Aug 2020 09:04:04 +0000 (10:04 +0100)]
ostree-boot-examples: Update for ostree-boot being in Debian 10
Simon McVittie [Fri, 21 Aug 2020 08:14:36 +0000 (09:14 +0100)]
boot: Replace deprecated StandardOutput=syslog with journal, etc.
systemd deprecated this in v246.
Resolves: #2169
Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie [Fri, 21 Aug 2020 07:41:40 +0000 (08:41 +0100)]
Release to unstable
Simon McVittie [Thu, 20 Aug 2020 23:24:06 +0000 (00:24 +0100)]
ostree-tests: Depend on gjs on s390x again
mozjs and gjs are believed to work fine on s390x now.
Simon McVittie [Thu, 20 Aug 2020 23:20:44 +0000 (00:20 +0100)]
New upstream release
Simon McVittie [Thu, 20 Aug 2020 23:17:48 +0000 (00:17 +0100)]
Update upstream source from tag 'upstream/2020.5'
Update to upstream version '2020.5'
with Debian dir
4353dd56b600335e2b26abd8eb544ba98b755c79
Simon McVittie [Thu, 20 Aug 2020 23:17:41 +0000 (00:17 +0100)]
New upstream version 2020.5
OpenShift Merge Robot [Wed, 19 Aug 2020 14:46:49 +0000 (16:46 +0200)]
Merge pull request #2175 from cgwalters/coverity-2020.5
Two small Coverity fixes
OpenShift Merge Robot [Wed, 19 Aug 2020 13:45:40 +0000 (15:45 +0200)]
Merge pull request #2176 from cgwalters/pin-str
admin/pin: Enforce that index is a number
Colin Walters [Wed, 19 Aug 2020 13:09:46 +0000 (13:09 +0000)]
admin/pin: Enforce that index is a number
Validate that we're parsing a number; we want to guard
against typos.
Closes: https://github.com/ostreedev/ostree/issues/2171
Colin Walters [Tue, 18 Aug 2020 23:35:38 +0000 (23:35 +0000)]
prepare-root: Remove unused variable
Should quiet Coverity.
Colin Walters [Tue, 18 Aug 2020 23:34:57 +0000 (23:34 +0000)]
pull: Assign idle_src variable before calling unref()
This should pacify Coverity, and also just "reads" better too.
OpenShift Merge Robot [Tue, 18 Aug 2020 23:08:30 +0000 (01:08 +0200)]
Merge pull request #2149 from stb-tester/boot-self-symlink
sysroot: Support /boot on root or as seperate filesystem for syslinux and u-boot
OpenShift Merge Robot [Tue, 18 Aug 2020 21:08:36 +0000 (23:08 +0200)]
Merge pull request #2174 from cgwalters/bump-self
tests/inst: Bump to latest ostree and gtk-rs
Colin Walters [Tue, 18 Aug 2020 18:00:19 +0000 (18:00 +0000)]
tests/inst: Bump to latest ostree and gtk-rs
Updating our tests to the latest ostree crate is so deliciously
circular.
OpenShift Merge Robot [Tue, 18 Aug 2020 17:11:02 +0000 (19:11 +0200)]
Merge pull request #2173 from cgwalters/release
Release 2020.5
Colin Walters [Tue, 18 Aug 2020 15:55:47 +0000 (15:55 +0000)]
Post-release version bump
Colin Walters [Tue, 18 Aug 2020 15:55:21 +0000 (15:55 +0000)]
Release 2020.5
Mainly to get https://github.com/ostreedev/ostree/pull/2160 out.
OpenShift Merge Robot [Mon, 17 Aug 2020 15:59:18 +0000 (17:59 +0200)]
Merge pull request #2172 from jlebon/pr/add-initrds-prep
Miscellaneous patches split out of #2155
OpenShift Merge Robot [Mon, 17 Aug 2020 15:15:29 +0000 (17:15 +0200)]
Merge pull request #2127 from cgwalters/destructive-rs
tests/inst: Add destructive test framework
Colin Walters [Sun, 31 May 2020 17:57:22 +0000 (17:57 +0000)]
tests/inst: Add destructive test framework
This adds infrastructure to the Rust test suite for destructive
tests, and adds a new `transactionality` test which runs
rpm-ostree in a loop (along with `ostree-finalize-staged`) and
repeatedly uses either `kill -9`, `reboot` and `reboot -ff`.
The main goal here is to flush out any "logic errors".
So far I've validated that this passes a lot of cycles
using
```
$ kola run --qemu-image=fastbuild-fedora-coreos-ostree-qemu.qcow2 ext.ostree.destructive-rs.transactionality --debug --multiply 8 --parallel 4
```
a number of times.
Jonathan Lebon [Mon, 17 Aug 2020 13:48:15 +0000 (09:48 -0400)]
lib/deploy: Clarify comment re. staging API
Don't mention deprecation in the description for
`ostree_sysroot_deploy_tree` since there are legitimate use cases for it
(e.g. to create the first deployment via `ostree admin deploy`).
Instead, make the comment clearly redirect to the staging API when
booted into the sysroot.
Jonathan Lebon [Mon, 17 Aug 2020 13:48:13 +0000 (09:48 -0400)]
lib/deploy: Drop unneccessary function arg
Jonathan Lebon [Mon, 17 Aug 2020 13:48:12 +0000 (09:48 -0400)]
lib/cleanup: Drop unnecessary GEqualFunc cast
Jonathan Lebon [Mon, 17 Aug 2020 13:48:11 +0000 (09:48 -0400)]
lib/deploy: Simplify deployment creation
Minor cleanup; we were declaring a superfluous variable.
Jonathan Lebon [Mon, 17 Aug 2020 13:48:10 +0000 (09:48 -0400)]
lib/deploy: Avoid shadowing variable
There's already a `boot_relpath` variable in the outside scope.
Jonathan Lebon [Mon, 17 Aug 2020 13:48:09 +0000 (09:48 -0400)]
lib/deploy: Clean up kargs override handling
Tighten up how we handle kargs here so it's more clear. When we call
`sysroot_finalize_deployment`, any karg overrides have already been set
on the bootconfig object of the deployment. So re-setting it here is
redundant and confusing.
OpenShift Merge Robot [Sun, 16 Aug 2020 20:25:20 +0000 (22:25 +0200)]
Merge pull request #2170 from jprvita/for-upstream
dracut: Create reproducible images
JoĂŁo Paulo Rechi Vita [Sat, 27 Jun 2020 01:28:48 +0000 (18:28 -0700)]
dracut: Create reproducible images
Without reproducible images, a rebuild of the initrd will create a
different image file (due to things like creation time of the files in
the cpio archive) even if the actual contents in it are exactly the
same, adding an unnecessary download during updates.
Adding 'reproducible=yes' avoids this and creates the same image files
for the same content.
OpenShift Merge Robot [Thu, 13 Aug 2020 14:43:38 +0000 (16:43 +0200)]
Merge pull request #2168 from arithx/ci_pxe_offline
ci: add pxe-offline-install testiso scenario
Stephen Lowrie [Tue, 11 Aug 2020 05:02:12 +0000 (00:02 -0500)]
ci: add pxe-offline-install testiso scenario
Simon McVittie [Mon, 10 Aug 2020 11:33:23 +0000 (12:33 +0100)]
Release to unstable
Simon McVittie [Mon, 10 Aug 2020 11:33:06 +0000 (12:33 +0100)]
d/copyright: Fix duplicate mention of buildutil/gtk-doc.m4
Simon McVittie [Mon, 10 Aug 2020 10:19:40 +0000 (11:19 +0100)]
Depend on bsdextrautils, for hexdump (used during testing)
* Add to Build-Depends
* Add to ostree-tests Depends
* Allow bsdmainutils (<< 12) as an alternative, for backports
OpenShift Merge Robot [Fri, 7 Aug 2020 21:29:31 +0000 (17:29 -0400)]
Merge pull request #2103 from cgwalters/underlay-live
Add "transient" unlock
Colin Walters [Sun, 17 May 2020 18:17:37 +0000 (18:17 +0000)]
Add "transient" unlock
I was thinking a bit more recently about the "live" changes
stuff https://github.com/coreos/rpm-ostree/issues/639
(particularly since https://github.com/coreos/rpm-ostree/pull/2060 )
and I realized reading the last debates in that issue that
there's really a much simpler solution; do exactly the same
thing we do for `ostree admin unlock`, except mount it read-only
by default.
Then, anything that wants to modify it does the same thing
libostree does for `/sysroot` and `/boot` as of recently; create
a new mount namespace and do the modifications there.
The advantages of this are numerous. First, we already have
all of the code, it's basically just plumbing through a new
entry in the state enumeration and passing `MS_RDONLY` into
the `mount()` system call.
"live" changes here also naturally don't persist, unlike what
we are currently doing in rpm-ostree.
OpenShift Merge Robot [Fri, 7 Aug 2020 17:24:58 +0000 (13:24 -0400)]
Merge pull request #2166 from pwithnall/summary-sig-downloads
pull: Add summary-{,sig-}bytes options to ostree_repo_pull()
Philip Withnall [Thu, 16 Jul 2020 15:16:37 +0000 (16:16 +0100)]
pull: Add summary-{,sig-}bytes options to ostree_repo_pull()
These allow the `summary` and `summary.sig` files to be cached at a
higher layer (for example, flatpak) between related pull operations (for
example, within a single flatpak transaction). This avoids
re-downloading `summary.sig` multiple times throughout a transaction,
which increases the transaction’s latency and introduces the possibility
for inconsistency between parts of the transaction if the server changes
its `summary` file part-way through.
In particular, this should speed up flatpak transactions on machines
with high latency network connections, where network round trips have a
high impact on the latency of an overall operation.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Philip Withnall [Wed, 15 Jul 2020 15:24:32 +0000 (16:24 +0100)]
pull: Improve formatting of pull options in documentation
Backticks improve all things.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
OpenShift Merge Robot [Wed, 5 Aug 2020 19:20:27 +0000 (21:20 +0200)]
Merge pull request #2163 from cgwalters/fix-ci
ci: Barf on unset umask
Colin Walters [Wed, 5 Aug 2020 14:17:53 +0000 (14:17 +0000)]
ci: Barf on unset umask
Since it's just not a sane thing to do and will cause various
failures in our test suite.
OpenShift Merge Robot [Tue, 4 Aug 2020 19:54:28 +0000 (21:54 +0200)]
Merge pull request #2159 from agners/show-parent
Show commit checksum of parent, if present
OpenShift Merge Robot [Mon, 3 Aug 2020 00:53:41 +0000 (20:53 -0400)]
Merge pull request #2160 from cgwalters/sysroot-ro
remount: Still remount /sysroot writable if not configured ro
OpenShift Merge Robot [Sun, 2 Aug 2020 14:29:45 +0000 (10:29 -0400)]
Merge pull request #2162 from cgwalters/fix-repo-finder
tests/repo-finder: Explicitly commit empty dir
OpenShift Merge Robot [Sun, 2 Aug 2020 13:02:06 +0000 (09:02 -0400)]
Merge pull request #2161 from cgwalters/fix-ci
ci: Fix ISO testing
Colin Walters [Sat, 1 Aug 2020 18:14:30 +0000 (18:14 +0000)]
ci: Fix ISO testing
Regression from
https://github.com/ostreedev/ostree/pull/2158/commits/
5d7f897908dbf7f471ddfdbd6c29a84ac6bc0bda
I'm not sure how (or if) this passed before, the job logs have
been GC'd.
This is a bit confusing but basically right now ostree/rpm-ostree's
CI jobs don't use `/srv/fcos` - it might make sense to port
these to `fcosBuild` but that needs investigation.
Colin Walters [Sat, 1 Aug 2020 18:47:36 +0000 (18:47 +0000)]
tests/repo-finder: Explicitly commit empty dir
We were committing the whole tempdir, which seems to fail
in Travis because the GPG agent Unix domain socket ends up there too,
and ostree refuses to commit sockets.
OpenShift Merge Robot [Sat, 1 Aug 2020 19:02:23 +0000 (15:02 -0400)]
Merge pull request #2156 from jlebon/pr/clarify-ref-rev
app: Fix various CLI metavariable names
Colin Walters [Sat, 1 Aug 2020 17:24:28 +0000 (17:24 +0000)]
remount: Still remount /sysroot writable if not configured ro
Regression from https://github.com/ostreedev/ostree/pull/2113/commits/
35642259175973617da937f3cab6ce5f13c95077
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=
1862568
We still need to remount writable if it's not configured on;
because it may need OS adjustments it needs to be opt-in.
Stefan Agner [Fri, 31 Jul 2020 19:43:09 +0000 (21:43 +0200)]
Show commit checksum of parent, if present
This is useful for ostree log on client side where often not the
full history of a branch is available. It is also helpful for
ostree show to show if a particular commit has a parent.
Jonathan Lebon [Thu, 30 Jul 2020 21:35:20 +0000 (17:35 -0400)]
app: Fix various CLI metavariable names
- Use `REV` instead of `REF` in places where we meant it.
- Fix `commit --parent` actually taking a commit checksum and not a ref.
- Fix `ostree admin switch` using `REF` instead of `REFSPEC`.
OpenShift Merge Robot [Fri, 31 Jul 2020 18:12:42 +0000 (14:12 -0400)]
Merge pull request #2157 from agners/improve-man-pages
Improve man pages
OpenShift Merge Robot [Fri, 31 Jul 2020 17:52:59 +0000 (13:52 -0400)]
Merge pull request #2158 from bgilbert/testiso
ci: test FCOS PXE and ISO install
Benjamin Gilbert [Fri, 31 Jul 2020 10:57:58 +0000 (06:57 -0400)]
ci: test FCOS PXE and ISO install
Make sure we don't break the FCOS live image. PXE is probably sufficient,
but also test the ISO image for good measure.
Stefan Agner [Fri, 31 Jul 2020 09:52:39 +0000 (11:52 +0200)]
man: add missing options to the ostree-commit man page
Add missing parameter to the ostree-commit man page.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Stefan Agner [Fri, 31 Jul 2020 09:49:38 +0000 (11:49 +0200)]
man: add glossary to main man page
Add glossary to define some commonly used literals throughout the ostree
man pages.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Simon McVittie [Mon, 27 Jul 2020 22:43:24 +0000 (23:43 +0100)]
Release to unstable
Simon McVittie [Mon, 27 Jul 2020 22:42:54 +0000 (23:42 +0100)]
Update Lintian overrides for some minor false-positives
Simon McVittie [Mon, 27 Jul 2020 22:37:56 +0000 (23:37 +0100)]
d/libostree-1-1.symbols: Update
Simon McVittie [Mon, 27 Jul 2020 21:52:59 +0000 (22:52 +0100)]
d/copyright: Update
Simon McVittie [Mon, 27 Jul 2020 21:52:48 +0000 (22:52 +0100)]
New upstream release
Simon McVittie [Mon, 27 Jul 2020 20:38:33 +0000 (21:38 +0100)]
Update upstream source from tag 'upstream/2020.4'
Update to upstream version '2020.4'
with Debian dir
3d4cd523c8198eb2b6336010a51ccdc7cd7397fc
Simon McVittie [Mon, 27 Jul 2020 20:38:25 +0000 (21:38 +0100)]
New upstream version 2020.4
OpenShift Merge Robot [Wed, 22 Jul 2020 14:48:44 +0000 (16:48 +0200)]
Merge pull request #2153 from cgwalters/release-2020-4
Release 2020.4
Colin Walters [Tue, 21 Jul 2020 21:46:43 +0000 (21:46 +0000)]
Post-release version bump
Colin Walters [Tue, 21 Jul 2020 21:46:00 +0000 (21:46 +0000)]
Release 2020.4
A lot of stuff here, new signing API is the biggest. Let's
get a release out.
OpenShift Merge Robot [Mon, 20 Jul 2020 17:55:26 +0000 (13:55 -0400)]
Merge pull request #2152 from cgwalters/pull-fdatasync
pull: Add --per-object-fsync
OpenShift Merge Robot [Sat, 18 Jul 2020 15:00:49 +0000 (11:00 -0400)]
Merge pull request #2150 from cgwalters/pull-append-written
pull: Also append bytes written
Colin Walters [Thu, 16 Jul 2020 21:13:36 +0000 (21:13 +0000)]
pull: Add --per-object-fsync
This is the opposite of
https://github.com/ostreedev/ostree/issues/1184
Motivated by OpenShift seeing etcd performance issues during
OS updates: https://github.com/openshift/machine-config-operator/issues/1897
Basically, if we switch to invoking `fsync()` as we go, it makes
ostree performance worse (in my tests, 31s to write 2G versus 7s if we
delay sync) but it avoids *huge* outliers in `fsync()` time for etcd.
Colin Walters [Thu, 16 Jul 2020 14:20:07 +0000 (14:20 +0000)]
pull: Also append bytes written
This is very useful information that we get from the transaction
stats. Append it to the final display if we're not inheriting
the transaction.
OpenShift Merge Robot [Fri, 17 Jul 2020 16:00:24 +0000 (12:00 -0400)]
Merge pull request #2151 from jlebon/pr/too-parallel
ci: Constrain parallel build jobs
Colin Walters [Fri, 17 Jul 2020 01:36:51 +0000 (01:36 +0000)]
tests: Add needs-internet tag for webserver bits
Fixes the tests, see https://github.com/coreos/coreos-assembler/pull/1600
TODO: provide a webserver binary via virtio or so
Jonathan Lebon [Thu, 16 Jul 2020 15:42:57 +0000 (11:42 -0400)]
ci: Constrain parallel build jobs
The default `_NPROCESSORS_ONLN` heuristic we have isn't cgroups aware.
So it thinks it has e.g. 40 CPUs when running in a k8s pod. This can
then blow through our allocated resource limits.
Declare some modest amount of RAM and CPU resources and override `make`
parallelism.
This matches what rpm-ostree now does in
https://github.com/coreos/rpm-ostree/pull/2155.